<template>
    <div>
              <!-- 新增立项分析表单 -->
        <el-dialog
            :close-on-click-modal = "false"
            ref = "dialog"
            v-dialogDrag
            class="posClass"
            width="640px"
            :title = "dialogTitle"
            :visible.sync="dialogVisible"
            :before-close = "beforeClose"
            center>
            <el-form ref="form" :model="form" :rules="rules" class="paddLR20 marT10" :inline="true" label-width = "110px">
                <el-row>
                    <el-col :span="24">
                        <el-form-item label="立项分析编号" prop = "num" class="posRelative">
                            <el-input v-model.trim="form.num" class="inputTxtWrapper" maxlength="50"></el-input>
                            <icon name="flush" class="scaleIcon1 svgColor flushIcon" title="刷新编号" style="cursor:pointer;position: absolute;cursor: pointer;right: -20;top: 15px;" @click.native.stop="generateContractFileNum"></icon>
                        </el-form-item>
                        <el-form-item label="名称" prop = "name">
                            <el-input v-model.trim="form.name" class="inputTxtWrapper" maxlength="50" placeholder="请输入名称"></el-input>
                        </el-form-item>
                        <el-form-item label="需求开始时间" prop = "startTime">
                            <el-date-picker
                            class="inputTxtWrapper"
                            v-model="form.startTime"
                            type="date"
                            value-format="yyyy-MM-dd HH:mm:ss"
                            placeholder="选择日期时间"
                            align="right">
                            </el-date-picker>
                        </el-form-item>
                    </el-col>
                </el-row>
		    </el-form>
            <span slot="footer" class="dialog-footer">
                <!-- <el-button type="warning" @click.stop.native = "openDialog">新建项目组</el-button> -->
                <el-button @click.stop.native = "beforeClose">取消并关闭</el-button>
                <el-button type="primary" @click="addProAnaly('form')">确 定</el-button>
                <!-- <el-button @click.stop.native = "beforeClose">取消并关闭</el-button>
                <el-button type="primary" @click="addProAnaly('form')">确 定</el-button> -->
            </span>
        </el-dialog>

        <!-- <add-pro-group 
            :isAddProGroupDiaVisible = "isAddProGroupDiaVisible" 
            :userList = "userList"
            :groupList = "form.groupList" 
            :title = "title"
            :obj = "obj"
            @hideAddProAnalyDialog = "hideAddProAnalyDialog" 
            @addGroupToTable = "addGroupToTable">
        </add-pro-group> -->
        
    </div>
</template>

<script>
import http from '@/assets/js/http'
// import addProGroup from './addProGroup'
import _g from '@/assets/js/global'

export default {
    components:{
        // addProGroup
    },
    props:{
        dialogTitle:{
            type:String,
            required:true
        },
        dialogVisible:{
            type:Boolean,
            default:true
        },
        // userList:{
        //     type:Array,
        //     required:true
        // }
    },
    mixins: [http],
    data(){

        // let validateLiableUserId = (rule,value,callback) => {
        //     const groupList = this.form.groupList.slice()
        //     if(value !== ''){
        //         for(let item of groupList){
        //             if(item.groupLiableUserId === value || item.proUsersIdArr.indexOf(value) > -1){
        //                 return callback(new Error('项目负责人不能是项目组负责人或项目人员'))
        //             }
        //         }
        //     }
        //     callback()
        // }

        return{
             /* 新增 / 编辑立项分析表单 */
            form:{
                num:'',//编号
                name : '',//..立项分析名称
                startTime : '',//..需求分析开始时间
                // liableUserId : '',//  所属项目负责人id
                inheritProId : '',//..继承的项目id

                 /* 项目组表格 */
                // groupList : [],//   项目组列表(项目组名称 + 项目组负责人 + 项目人员)

                // file : '',//..资料数据
            },
            // fileList : [],

           

            /* 项目人员 */
            // isAddProGroupDiaVisible : false,//  选择项目人员弹框默认隐藏

            // obj:{},//   修改的项目组的信息

            rules: {
                num : [
                    { required: true, message: '请输入立项分析编号', trigger: 'blur' },
                ],
                name : [
                    { required: true, message: '请输入名称', trigger: 'blur' },
                ],
                // liableUserId : [
                //     { required: true, message: '请选择项目负责人', trigger: 'blur' },
                //     {validator:validateLiableUserId, trigger:'blur'}
                // ],
                startTime : [
                    { required: true, message: '请选择需求分析开始时间', trigger: 'blur' },
                ],
                // groupList : [
                //     { type : 'array',required: true, message: '请新建项目组', trigger: 'change' },
                // ],
            }

        }
    },
    methods: {
        // /* 删除文件之前的钩子 */
        // beforeRemove(file,fileList){
        //     console.log(file)
        //     console.log(fileList)
        //     const len = this.fileList.length
        //     for(let i = 0;i < len;i++){
        //         if(this.fileList[i].name === file.name){
        //             this.fileList.splice(i,1)
        //         }
        //     }
        // },
        // /* 文件选择改变事件 */
        // handleFileChange(file, fileList){
        //     this.fileList = fileList.slice()
        // },
        /* 打开弹框 */
        // openDialog(){
        //     this.title = '新建项目组'
        //     this.isAddProGroupDiaVisible = true
        // },
        /* 关闭弹框 */
        beforeClose(str) {
            this.$refs.form.resetFields();
            // this.$set(form,'groupList',[])
            // this.form.groupList = []
            // this.$refs.uploadFile.clearFiles()
            this.$emit('hideAddProAnalyDialog',str)
        },
        /*隐藏新建项目组弹框  */
        // hideAddProAnalyDialog(){
        //     this.isAddProGroupDiaVisible = false
        // },
        // addGroupToTable(proGroupMsg,index){
        //     // const groupList = this.form.groupList.slice()//  表格项目组数据
        //     // const proUsersNameArr = []//   项目组人员名字
        //     // let groupLiableUserName = ''//..项目组负责人名字

        //     // this.userList.map((val) => {
                
        //     //     if(proGroupMsg.proUsersIdArr.indexOf(val.id) > -1){
        //     //         proUsersNameArr.push(val.user_name)//   项目组人员名字
        //     //     }
        //     //     if(proGroupMsg.groupLiableUserId === val.id){
        //     //         groupLiableUserName = val.user_name
        //     //     }
        //     // })

        //     // if(index !== null){//  如果为修改项目组
        //     //     groupList.splice(index,1)
        //     // }

        //     // groupList.push({
        //     //     groupLiableUserId : proGroupMsg.groupLiableUserId,//    项目组负责人id
        //     //     groupName : proGroupMsg.groupName,//    项目组名
        //     //     proUsersIdArr : proGroupMsg.proUsersIdArr,//    项目组人员id数组
        //     //     groupLiableUserName,
        //     //     proUsersNameArr
        //     // })
        //     // this.form.groupList = groupList.slice()
        // },
        /* 删除项目组 */
        // del(index){
        //     const that = this
        //     that.$confirm('是否确认删除?', '提示', {
        //         confirmButtonText: '确定',
        //         cancelButtonText: '取消',
        //         type: 'warning',
        //         center: true
        //     }).then(() => {
        //         _g.toastMsg('success','删除成功!')
        //         this.form.groupList.splice(index,1)
        //     }).catch(() => {})
        // },
        /* 编辑项目组 */
        // edit(row,index){
        //     let obj = {}
        //     this.title = '修改项目组'
        //     this.isAddProGroupDiaVisible = true
        //     obj.groupName = row.groupName
        //     obj.proUsersIdArr = row.proUsersIdArr
        //     obj.groupLiableUserId = row.groupLiableUserId

        //     obj.index = index

        //     this.obj = obj
        // },
        /* 新建立项分析 */
        addProAnaly(){
            

            const that = this
            // let proGroupDataArr = []//项目组信息数组
            let arr = []

            // for(let item of that.fileList){
            //     if(item.size >= 1024 * 1024){
            //         _g.toastMsg('warning',item.name + '大小不能超过1M')
            //         return
            //     }
            // }

            // if(that.form.groupList.length <= 0){
            //     _g.toastMsg('warning','项目组至少1个!')
            //     return
            // }
            const formData = new FormData()


            that.$refs.form.validate((valid) => {
                if(valid){
                    // for(let item of that.form.groupList){
                    //     arr = []
                    //     arr.push(item.groupName)
                    //     arr.push(item.groupLiableUserId)
                    //     arr.push(item.proUsersIdArr.join(':'))
                    //     proGroupDataArr.push(arr.join('|'))
                    // }
                    formData.append('num',that.form.num)
                    formData.append('name',that.form.name)
                    formData.append('startTime',that.form.startTime)
                    // formData.append('liableUserId',that.form.liableUserId)
                    // formData.append('proGroupData',proGroupDataArr.join(','))

                    // for(let item of that.fileList){
                    //     formData.append('files[]',item.raw)
                    // }
                    // 向后台传送数据

                     that.$confirm('是否确认?', '提示', {
                        confirmButtonText: '确定',
                        cancelButtonText: '取消',
                        type: 'warning',
                        center: true
                    }).then(() => {
                            _g.showLoading('提交中')
                            that.apiPost('admin/task/addProAnaly', formData).then((res) => {
                                _g.showLoading().close()
                                if(typeof res === 'string'){
                                    res = JSON.parse(res)
                                }
                                if (res.code != 200) {
                                    that.handleError(res)
                                } else {
                                    if(res.data.isSuccess === 0){             //  成功
                                        _g.toastMsg("success", res.message)
                                        that.beforeClose('新增立项分析成功')
                                    }else if(res.data.isSuccess === 2){
                                        _g.toastMsg("warning", res.message)
                                    }else{
                                        _g.toastMsg("error", res.message)
                                    }
                                }
                            })
                    }).catch(() => {});
                }
            })
        },
    },
}
</script>

<style lang="less" scoped>

</style>


